package arraylistTest;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class exercise {
    //从str1中去除str2有的元素
    public static List<Character> func(String str1,String str2){
        List<Character> list = new ArrayList<>();
        for(int i = 0; i < str1.length(); i++){
            if(!str2.contains(str1.charAt(i) + "")){
                list.add(str1.charAt(i));
            }
        }
        return list;
    }

    //打印杨辉三角
    public static List<List<Integer>> generate(int numRows){
        List<List<Integer>> ret = new ArrayList<>();
        //向第一行中添加元素
        List<Integer> row = new ArrayList<>();
        row.add(1);
        //将第一行添加到 List<List<Integer>> 中
        ret.add(row);
        //从第二行开始
        for(int i = 1; i < numRows; i++){
            List<Integer> curRow = new ArrayList<>();
            //新一行的第一个值
            curRow.add(1);
            //处理中间值
            for(int j = 1; j < i; j++){
                int tmp = ret.get(i - 1).get(j) + ret.get(i - 1).get(j - 1);
                curRow.add(tmp);
            }
            //新一行的最后一个值
            curRow.add(1);
            ret.add(curRow);
        }
        return ret;
    }


    public static void merge(int[] nums1, int m, int[] nums2, int n) {
        int p = m - n -1;
        int q = n - 1;
        int k = m - 1;
        while(p >= 0 && q >= 0){
            if(nums1[p] <= nums2[q]){
                nums1[k] = nums2[q];
                q--;
                k--;
            }else if(nums1[p] > nums2[q]){
                nums1[k] = nums1[p];
                p--;
            }
        }
        System.out.println(Arrays.toString(nums1));
    }
    public static void main(String[] args) {
        merge(new int[]{1,2,3,0,0,0},6,new int[]{2,5,6},3);
        List<Character> ret = func("welcome to the world", "come");
        for(Character ch : ret){
            System.out.print(ch);
        }
        System.out.println();

        List<List<Integer>> ret2 = generate(5);
        for(List<Integer> i : ret2){
            for(Integer j : i){
                System.out.print(j + " ");
            }
            System.out.println();
        }
    }
}
